]> dgit.raspbian.org Git - gnome-shell.git/commit
st/spinner-content: Fix CoglTexture leak
authorSebastian Keller <skeller@gnome.org>
Wed, 21 Jan 2026 18:50:33 +0000 (19:50 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Thu, 5 Feb 2026 13:54:12 +0000 (14:54 +0100)
commit29ff06bb7c98bc1840f2ac48744abc725bd62e6d
tree238948e6c146a608a9b7974d3e4739825e19e880
parent85bce39b5a7185f3e9dc1404352c44d96d02a89a
st/spinner-content: Fix CoglTexture leak

Most of the members were getting indirectly freed via the
st_spinner_content_set_actor (spinner, NULL) and the subsequent
st_spinner_content_invalidate () on destruction of the actor or
changing of its content when the spinner is stopped.
The texture however was not freed.

This now frees all members explicitly on finalize.

208 (96 direct, 112 indirect) bytes in 1 blocks are definitely lost in loss record 20,960 of 22,464
   at 0x4D37833: g_type_create_instance (gtype.c:1877)
   by 0x4D1C186: g_object_new_internal.part.0 (gobject.c:2666)
   by 0x4D1E0FA: g_object_new_internal (gobject.c:2982)
   by 0x4D1E0FA: g_object_new_valist (gobject.c:3004)
   by 0x4D1E488: g_object_new (gobject.c:2479)
   by 0x5A8B7CB: _cogl_texture_2d_create_base (cogl-texture-2d.c:84)
   by 0x572D668: st_spinner_content_paint_content (st-spinner-content.c:175)
   by 0x50D2C07: clutter_actor_paint_node (clutter-actor.c:3471)
   by 0x50D2C07: clutter_actor_continue_paint (clutter-actor.c:3726)
   by 0x511D4F9: clutter_paint_node_paint (clutter-paint-node.c:867)
   by 0x50D9717: clutter_actor_paint (clutter-actor.c:3670)
   by 0x574199A: st_viewport_paint (st-viewport.c:483)
   by 0x50D2C42: clutter_actor_continue_paint (clutter-actor.c:3728)
   by 0x511D4F9: clutter_paint_node_paint (clutter-paint-node.c:867)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4045>
(cherry picked from commit ba0c4bda8083b0190ce5e0f38255b6e7b6fcffcf)
src/st/st-spinner-content.c